]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
screenShield: only pop lock-screen mode at the end of lift
authorCosimo Cecchi <cosimoc@gnome.org>
Sat, 2 Mar 2013 20:21:20 +0000 (15:21 -0500)
committerCosimo Cecchi <cosimoc@gnome.org>
Sat, 2 Mar 2013 22:26:28 +0000 (17:26 -0500)
This avoids the style of the top panel changing as soon as the lift key
is pressed weakening the curtain effect.

https://bugzilla.gnome.org/show_bug.cgi?id=695023

js/ui/screenShield.js

index 7b3953b7c6dc8720fc811aaffa9016375ddec7b4..458081405a2216d720e024cba1ad12076b0e26c9 100644 (file)
@@ -864,6 +864,14 @@ const ScreenShield = new Lang.Class({
                          });
     },
 
+    _hideLockScreenComplete: function() {
+        if (Main.sessionMode.currentMode == 'lock-screen')
+            Main.sessionMode.popMode('lock-screen');
+
+        this._lockScreenState = MessageTray.State.HIDDEN;
+        this._lockScreenGroup.hide();
+    },
+
     _hideLockScreen: function(animate, velocity) {
         if (this._lockScreenState == MessageTray.State.HIDDEN)
             return;
@@ -887,21 +895,13 @@ const ScreenShield = new Lang.Class({
                              { y: -h,
                                time: time,
                                transition: 'easeInQuad',
-                               onComplete: function() {
-                                   this._lockScreenState = MessageTray.State.HIDDEN;
-                                   this._lockScreenGroup.hide();
-                               },
-                               onCompleteScope: this,
+                               onComplete: Lang.bind(this, this._hideLockScreenComplete),
                              });
         } else {
-            this._lockScreenState = MessageTray.State.HIDDEN;
-            this._lockScreenGroup.hide();
+            this._hideLockScreenComplete();
         }
 
         global.stage.show_cursor();
-
-        if (Main.sessionMode.currentMode == 'lock-screen')
-            Main.sessionMode.popMode('lock-screen');
     },
 
     _ensureUnlockDialog: function(onPrimary, allowCancel) {